Учебный курс: Подготовка на 1С:Специалист по платформе 1С:Предприятие 8.3

Решение задач по управляемым формам – тема № 15:
Как организовать хранение картинок товаров во внешних файлах на диске, а также их отображение на форме

Файлы изображений могут быть достаточно объемными, поэтому их хранение в базе может привести к сильному увеличению размеров информационной базы. Это в свою очередь приводит к разрастанию резервных копий базы, к повышенному времени создания таких резервных копий.

Поэтому достаточно часто используется такой подход – вместо изображения в информационной базе хранится только путь к файлу с картинкой, а само изображение хранится на диске в отдельном каталоге. Если возникает потребность отобразить в программе прикрепленное изображение, система обращается к файлу с картинкой на диске, выводит его на форму. Таким образом, в базе не хранится объемная информация графических файлов, а только пути к таким файлам, что существенно уменьшает размеры хранящейся в базе информации.

Однако при таком подходе требуется отдельно выполнять резервное копирование базы данных и отдельно копировать каталог на диске, где хранятся файлы изображений.

Главным недостатком такого способа хранения данных является возможность получения несогласованных данных. Файлы изображений хранятся отдельно, не в информационной базе, поэтому файл может быть удален с диска, а в базе останется ссылка на него. Также возможна обратная ситуация – элемент справочника в базе будет удален, а на диске будет храниться файл, не связанный ни с каким элементом базы данных.

На экзамене может быть предложено реализовать хранение присоединенных изображений во внешних файлах на диске. Условие задачи может быть примерно таким:

Необходимо обеспечить возможность прикреплять изображение к элементу справочника Номенклатура. Изображения следует хранить в виде отдельных файлов на диске. Прикрепленное изображение номенклатуры должно отображаться на форме элемента.

Создадим команду ЗагрузитьКартинку формы элемента справочника Номенклатура и разместим ее на форме. После выбора данной команды пользователь выбирает файл на диске, который будет прикреплен к карточке номенклатуры:

Выбор файла картинки

Рисунок 1 – Выбор файла картинки

Как организовать хранение изображений во внешних файлах на диске

Поскольку не требуется хранить само изображение в информационной базе, организуем хранение только имени файла, где расположено изображение, прикрепленное к карточке номенклатуры. Для этого в справочнике Номенклатура создадим реквизит ПутьКФайлуКартинки с типом Строка:

Реквизит справочника Номенклатура для хранения пути к файлу картинки

Рисунок 2 – Реквизит справочника Номенклатура для хранения пути к файлу картинки

Путь к файлу и его имя могут быть достаточно длинными, поэтому для реквизита ПутьКФайлуКартинки установим галочку Неограниченная длина:

Свойство Неограниченная длина реквизита «ПутьКФайлуКартинки»

Рисунок 3 – Свойство Неограниченная длина реквизита «ПутьКФайлуКартинки»

Как загрузить картинку для номенклатуры

Настройка формы элемента справочника Номенклатура для отображения картинки выполняется одинаково как при хранении изображений в информационной базе, так и при хранении изображений во внешних файлах. Подробно основные принципы рассмотрены в предыдущем блоке. Сейчас отметим основные отличия, характерные для хранения изображений во внешних файлах.

К сожалению, у Вас недостаточно прав для дальнейшего просмотра.

Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.

Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.

Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.

Комментарии закрыты